The present invention relates to transcoding of digital video images, and to particular architectures for using multiple transcoding processors operating in parallel.
The transmission of digital video data, e.g., via broadband communication systems such as cable television or satellite television networks, has become increasingly popular. Digital decoders/set-top boxes are provided in consumers' homes for use in receiving the digital video signals and processing the signals in a format that is suitable for display on a television or video display terminal.
In general, source video sequences can be of any format, e.g., in terms of spatial resolution, frame rate, frame size, color sampling format, interlaced or progressive scan format, bit rate, resolution (e.g., high-definition or standard definition), or amount and type of noise filtering. Additionally, the source video sequences can be pre-encoded at any rate, and with a constant bit rate (CBR) or variable bit rate (VBR).
For many applications, however, the pre-compressed bitstreams must correspond with only specific allowable, or otherwise desirable, video formats and rates. Accordingly, it is often necessary to change the format or other characteristics of the video data prior to communicating it to a set-top box and/or some intermediate point in a network.
The required format changes can be provided by a transcoder. In general, a multi-channel video transcoder is an instrument that converts a set of pre-compressed video bitstreams, such as those conforming to the MPEG standard, into another set of video bitstreams. Such a converting instrument can perform many functions such as changing bit-rate, inserting and dropping bitstreams, transforming resolutions, and bitstream re-multiplexing, etc. Channels of data can be added and dropped. The elementary functional block of such an instrument is a single-channel MPEG-video transcoder.
A straightforward transcoder for an MPEG bitstream can simply be a cascaded MPEG decoder and encoder. The cascaded transcoder first decodes a compressed bitstream to obtain a reconstructed video sequence. The reconstructed video sequence is then re-encoded to obtain a different compressed bitstream that is suitable for transmission. Moreover, more efficient transcoders have been proposed that re-use motion vectors and minimize the changes of macroblock modes.
However, the complexity of the transcoder is still very high, in particular, due to the need for motion estimation of predicted images (e.g., P-pictures and B-pictures). Moreover, real-time transcoding of multiple channels is required. For example, the headend of a cable television network may use a transcoder to combine a satellite feed with local programming in real-time. The processing speed of the transcoder must be sufficient to perform the desired operations without perceptible delays.
Accordingly, it would be desirable to provide a more efficient transcoder architecture. The system should increase processing efficiency by providing multiple transcoding processors. The system should decrease overall processing time, and/or allow the use of lower speed processors.
The system should allow updates to transcoding algorithms to be easily implemented.
The system should accommodate upgrades to new and faster processors (chips) without major re-design.
The system should be more cost effective than specialized transcoding hardware.
The system should be suitable for transcoding multiple channels, such as standard definition video channels, or a single high-bit rate channel, such as an HDTV channel.
The present invention provides a system having the above and other advantages.